package com.gitee.feizns.itrip.personal.biz.entity.ao;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author feizns
 * @since 2019/1/11 0011
 */
@Data
public class ForAcceptAddHotelOrder {

    /**
     * 入住时间
     */
    @NotNull(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.checkInDate}")
    private Date checkInDate;

    /**
     * 退房时间
     */
    @NotNull(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.checkOutDate}")
    private Date checkOutDate;

    /**
     * 所需房间个数
     */
    @NotNull(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.count}")
    private Integer count;

    /**
     * 酒店id
     */
    @NotNull(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.hotelId}")
    private Long hotelId;

    /**
     * 酒店名称
     */
    private String hotelName;

    /**
     * invoiceHead
     */
    private String invoiceHead;

    /**
     * 发票类型
     */
    private Integer invoiceType;

    /**
     * 是否需要特殊服务
     */
    private Integer isNeedInvoice;

    /**
     * 联系人
     */
    private List<LinkUser> linkUser;

    /**
     * 通知邮箱
     */
    private String noticeEmail;

    /**
     * 通知手机
     */
    @NotNull(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.noticePhone}")
    @NotEmpty(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.noticePhone}")
    private String noticePhone;

    /**
     * 订单类型
     */
    private Integer orderType;

    /**
     * 房间id
     */
    @NotNull(message = "{com.gitee.feizns.itrip.personal.biz.entity.ao.ForAcceptAddHotelOrder.roomId}")
    private Long roomId;

    /**
     * 特殊需求
     */
    private String specialRequirement;

    @Data
    public static class LinkUser {

        /**
         * 联系人id
         */
        private Integer id;

        /**
         * 联系人名称
         */
        private String linkUserName;

    }

}
